home *** CD-ROM | disk | FTP | other *** search
/ Gekikoh Dennoh Club 1 / Gekikoh Dennoh Club Vol. 1 (Japan).7z / Gekikoh Dennoh Club Vol. 1 (Japan) (Track 1).bin / kowin / archive / net / kxtm248.lzh / kxterm20.doc < prev    next >
Encoding:
Text File  |  1995-10-30  |  62.0 KB  |  1,814 lines

  1.  
  2.            X680x0 Ko-Window ターミナルエミュレータ
  3.               KX_Term20   Version 2.48
  4.                             1995 9/21 小笠原博之
  5.  
  6.   Ko-Window 上で動く高機能な通信ソフトです。パソコン通信用として、また同時に
  7.  RS232C によるワークステーション等の端末としても使うために開発をしました。
  8.  
  9.   マクロ言語搭載、エスケープシーケンス完全対応(専用termcap付属)オートログイ
  10. ンの記述も簡単 (専用のMENUプログラム K20menu.win) などなど。kopro.win でバイ
  11. ナリプロトコル転送 X/Y-MODEM サポート。ログウィンドウ機能採用。38400bpsでも
  12. しっかり使えます。そして、その機能のほぼ全部が自在にカスタマイズ可能です。
  13.  
  14.   なお、動作には tmsio.x か RSDRV.SYS+rsbuf.r が必要です。(rsbuf は付属して
  15. いますが、RSDRV.SYS では一部機能に制限を受けます。できるだけ tmsio.x を入手
  16. して使用して下さい)
  17.  
  18.  v2.46からの変更点: -V,-V2 オプション(xterm/vt100モード)での処理のさらなる
  19.      デバッグ。(全角文字描画時の処理が抜けていた) その他修正
  20.  
  21.  
  22. ●使い方
  23.  
  24.   起動に最低限必要なものは実行ファイルの k20.win と tmsio.x (RS232C 用の高性
  25. 能なドライバ…別に入手しておく必要がある) です。とにかく tmsio.x さえ常駐し
  26. てあれば使用することができます。
  27.  
  28.   tmsio.x の常駐は、必ず Ko-Window を起動する前に行なって下さい。
  29.  
  30.     tmsio.x -b32
  31.  
  32. くらいに設定しておけば大丈夫です。RS-232C の通信速度やパラメーターは、付属の
  33.  tmsioctrl.x や RS.win(作:TeX2) を使って設定するのが簡単でしょう。また、
  34.  Human68k の BREAK モードは OFF にします。CONFIG.SYS で、tsmio.x と合せて
  35.  
  36. PROGRAM = a:\sys\tmsio.x -b32
  37. BREAK   = OFF
  38.  
  39. とでも書いておくといいでしょう。tmsio.x を使う場合は rsdrv.sys は必要ありませ
  40. ん。
  41.  
  42.  
  43.  
  44. ●なお
  45.  
  46.   なお、tmsio.x はできるだけ新しいバージョンを使用して下さい。このドキュメン
  47. ト制作時の最新バージョンは 0.31 のようです。(違っていたらごめんなさい)
  48.  
  49.   tmsio.x の代わりに RSDRV.SYS も使えます。このとき rsbuf.r で必ず受信バッファ
  50. を拡張しておいて下さい(拡張しないと使えません)。RSDRV.SYS の場合は、通信速度
  51. 最大19200bps、漢字コード変換ができない等のかなりの機能制限をうけますので注意
  52. して下さい。
  53.  
  54.   起動時に k20 -l32 などのように実行すると、ウィンドウサイズが 80x32 文字にな
  55. ります。-l で行数指定が可能です(最大80行)。k20 -l44 -f10 なんてのもお勧め。(オ
  56. プションスイッチについて詳しくは後述)
  57.  
  58.   TwentyOne.x はできれば組み込んであった方が間違いがありません。(たとえ、21文
  59. 字判別、特殊ファイル名の使用を行わなくても、組み込んであった方が良いです)
  60.  
  61.  
  62.  
  63. ●まともに使うための下準備
  64.  
  65.   そのままでは起動はできるものの各種機能やポップアップメニュー、ファンクショ
  66. ンキー等が使えません。そこで、まず次のようにして下さい。
  67.  
  68.  (1)    1つディレクトリを作り、その中にアーカイブを展開して出てきたファイル
  69.     を全部納める。
  70.  
  71.  (2)    Ko-Window システムの、WSRV.RC というファイルに、付属の定義ファイルを
  72.     テキストエディタ等で追加する。
  73.  
  74.     サンプルとして2種類の標準定義ファイルがついています。以下から選択し
  75.     て下さい。
  76.  
  77.         パソコン通信で用いる場合    k20wsrv.rc
  78.         WS 等の端末として用いる場合    k20wsrvT.rc
  79.  
  80.     この両者はデフォルトのメニュー設定等が異なるだけですので、実際はどち
  81.     らを選んでも、パソ通、端末、両方に使うことができます。いろいろカスタ
  82.     マイズしてみて下さい。
  83.  
  84.  (3)    (2) で WSRV.RC に追加した部分を必要なら修正して下さい。(パス名など)
  85.  
  86.   これで準備完了です。tmsio.x を常駐させ、Ko-Window を起動し、(1) のディレク
  87. トリの中にある k20.win を実行すると KX_Term20 は動き出します。
  88.  
  89.  
  90. 【インストールのアドバイス】
  91.  
  92.  (4) k20.win 自身はパスを通した別のディレクトリに移動することができます。こ
  93.      の場合、マクロを入れてある(1)のディレクトリは WSRV.RC の MacroDir の部
  94.      分に設定して下さい。(パスの最後に必ず'/'が必要)
  95.  
  96.  (5) 同様に、WSRV.RC の LogDir の項目にはログファイルのデフォルトディレクト
  97.      リを書いておくことができます。一応設定しておくといいでしょう。(パスの
  98.      最後に必ず'/'が必要)
  99.  
  100. (k20.hlp は、マクロと一緒に MacroDir へ入れておいて下さい)
  101.  
  102.  
  103. 注意点! マクロでは環境変数を用います。環境領域は多目に確保しておいて下さい。
  104.     ( COMMAND.X の /E スイッチ等 )
  105.  
  106.  
  107.  
  108.     《《パソコン通信に用いる》》
  109.  
  110.  
  111. ●オートログイン、ネットの設定
  112.  
  113.   データベースマクロ ( ac.k20 ) により、1つのファイル "net_menu.lst" に登録
  114. するだけで、簡単に各種ネットにオートログインできるようになります。
  115.  
  116.   1ネットに付き、たったの1行の設定なので、付属の net_menu.lst にスクリーン
  117. エディタを用いてそれぞれの項目を直接記入しても構いません。
  118.  
  119.   ですが、付属の k20menu.win を用いることでウィンドウ上からダイアログを通じた
  120. 編集が可能になりたいへん便利です。ここでは k20menu.win を使うものとして説明し
  121. ます。
  122.  
  123.  
  124.  
  125. ●設定を編集する
  126.  
  127.   k20.win を起動します。その後右ボタンのポップアップメニューから「DialMenu」
  128. を選びます。([F5] キーを押しても構わない) するとネットの選択メニューが出るは
  129. ずです。サンプルでいくつかの設定が記述してあるので、それをもとに修正して下さ
  130. い。
  131.  
  132.   変更したいネット設定の上でマウスの右ボタンを押し、ポップアップメニューを出
  133. します。その一番下の「ネット設定修正」を選んで下さい。Input ウィンドウが出る
  134. ので内容を自由に変更できます。項目はマウスでクリックしたり、カーソルキーの上
  135. 下等で変更できます。RS-232C パラメーターはポップアップメニューで変更します。
  136. (詳しいキー操作等は k20menu.doc に書いてありますが、だいたい見なくても操作は
  137. できるはず)
  138.  
  139.   <<設定例>>  NIFTY-Serve の場合
  140.     ┌─────────────────────────────┐
  141.     |□□               Input              □|
  142.     ├─────────────────────────────┤
  143.     |識別子(Key)   [nif      ]  料金区域 [市内   ] OPT [0     ]|
  144.     |ネット名      [NIFTY-Serve                   ]|
  145.     |電話番号      [XX-XXXX                   ]|
  146.     |ログファイル  [a:/log/nf*.log                   ]|
  147.     |モデムコマンド[                       ]|
  148.     |アクセス手順1[&nifty1            ] > [           ]|
  149.     |アクセス手順2[            ] > [           ]|
  150.     |アクセス手順3[            ] > [           ]|
  151.     |アクセス手順4[            ] > [           ]|
  152.     |アクセス手順5[            ] > [           ]|
  153.     |アクセス手順6[            ] > [           ]|
  154.     ├─────────────────────────────┤
  155.     |[38400 ][ビット長8][パリティナシ][STOP1][XON/OFF][RTS/CTS][S-JIS]|
  156.     ├─────────────────────────────┤
  157.     |[全データ転送]                [取消][登録]|
  158.     └─────────────────────────────┘
  159.   アクセス手順1の欄にある &nifty1 は FENICS ROAD1 の場合です。ROAD2 の場合は
  160.   &nifty2 に変更して下さい。電話番号はそれぞれの番号に置き換えて下さい。ID番
  161.   号とパスワードは、付属の nifty1.k20 および nifty2.k20 の街頭部分を書き換え
  162.   て下さい。(オートログアウトや、自動ダウンロード等の設定もできます。詳しい
  163.   説明は kxnifty.doc を参照して下さい。)
  164.  
  165.  
  166.  
  167.   <<設定例>>  PC-VAN の場合
  168.     ┌─────────────────────────────┐
  169.     |□□               Input              □|
  170.     ├─────────────────────────────┤
  171.     |識別子(Key)   [van      ]  料金区域 [市内   ] OPT [0     ]|
  172.     |ネット名      [PC-VAN                       ]|
  173.     |電話番号      [XX-XXXX                   ]|
  174.     |ログファイル  [a:/log/pv*.log                   ]|
  175.     |モデムコマンド[                       ]|
  176.     |アクセス手順1[NULL               ] > [VANPCNEC02\r       ]|
  177.     |アクセス手順2[USER_ID:        ] > [XXXXXXXX\r        ]|
  178.     |アクセス手順3[PASSWORD:        ] > [XXXXXXX\r         ]|
  179.     |アクセス手順4[            ] > [           ]|
  180.     |アクセス手順5[            ] > [           ]|
  181.     |アクセス手順6[            ] > [           ]|
  182.     ├─────────────────────────────┤
  183.     |[38400 ][ビット長8][パリティナシ][STOP1][XON/OFF][RTS/CTS][S-JIS]|
  184.     ├─────────────────────────────┤
  185.     |[全データ転送]                [取消][登録]|
  186.     └─────────────────────────────┘
  187.   電話番号やパスワード、IDは、それぞれ置き換えて下さい。(上記 XXX の部分)
  188.  
  189.  
  190.  
  191.   === 項目の詳しい説明 ===
  192.  
  193.  
  194. ◆識別子(Key)    :ネット識別用の簡単な名前です。アルファベット数文字で、必ず
  195.          どのネットも区別がつくようにします。
  196.          編集を終了した時、同じ Key の項目があればそれを新しいものに
  197.          置き換えます。Key が異なれば別のネット設定として追加します。
  198.          だから一度設定したら、そのネットの Key は変更しないようにし
  199.          ましょう。
  200.  
  201.          例 「den」
  202.  
  203.  
  204. ◆ネット名    :ネット名を書いて下さい。これは Key のようにネット判断に用い
  205.          ることはしません。好きなように書いて下さい。
  206.  
  207.          例 「でんでんネット」
  208.  
  209.  
  210. ◆電話番号    :ネットのアクセス電話番号です。そのまま番号を記述します。こ
  211.          れは MODEM のダイアルコマンド ATD に渡す文字列になります。
  212.  
  213.          例 「0238-21-5952」
  214.  
  215.         もし BUSY (話中) の時は勝手にリダイアルをします。途中でやめ
  216.         るには PopUp メニューの Break を選んでから RETURN キーを押し
  217.         て下さい。
  218.  
  219.  
  220.          以下は特殊な場合の記述方法です。
  221.  
  222.         (1) 番号が複数の場合
  223.  
  224.             例 「!0238-23-6107!0238-23-6108」
  225.  
  226.             ! で区切って複数の番号を記述します。BUSY の時は順番
  227.             に繰り返し電話をかけます。
  228.  
  229.         (2) Tri-P アクセスの場合
  230.  
  231.             例 「&trip SPS」
  232.  
  233.             マクロ &trip を使用します。(&で始まる場合はそのマク
  234.             ロを呼び出す)&trip の使用に関してはあらかじめ付属の
  235.             trip.k20 内に必要次項を登録しておく必要があります。
  236.  
  237.         (3) 時間チェックが必要な場合
  238.  
  239.             例 「&telt ATD0238-21-5952 23:00 06:00」
  240.             マクロ &telt を使用します。
  241.  
  242.             &telt  ATDアクセス番号  開始時間  終了時間
  243.  
  244.             のように記述します。時間範囲外の時はアクセスしません。
  245.  
  246.  
  247. ◆料金区域    :通話料金の区域を指定します。(標準マクロ &ntt の項目参照)
  248.          現在 (市内,隣接,30K,40K,60K,80K,100K,160K,長距離,TriP,TP隣)
  249.          のみサポート。この記述は料金集計に影響するので、料金表示が
  250.          必要ない場合には特に設定が正しくなくても差し支えありません。
  251.          なお有料ネットの料金は計算しません。通話料金のみです。
  252.  
  253.          例 「隣接」
  254.  
  255.  
  256. ◆OPT        :パラメーターオプションです。現在はアップロード時の行間ウエイ
  257.          ト時間指定に使われています。1/100 秒単位で指定して下さい。
  258.  
  259.          大手はどうか知りませんが、でんでんネットや SPS-NET では、こ
  260.          の項目は 0 で OK 。テキストのアップロードに失敗することがあ
  261.          るようなら、この値を増やしてみて下さい。
  262.  
  263.  
  264. ◆ログファイル    :ログファイル名です。ファイル名中の特殊文字、「*」は年月日6
  265.          桁「@」は月日4桁に置きかわります。(もっと複雑な記述も可能)
  266.          ログ保存を行ないたくない場合は、この項目に NULL とだけ書い
  267.          ておいて下さい。
  268.  
  269.          例 「a:/log/dn*.log」
  270.  
  271.  
  272. ◆モデムコマンド:ネット毎のモデム設定文字列です。
  273.  
  274.          例 「AT%C0」
  275.  
  276.         この項目が不用な場合には空欄にしておいて下さい。
  277.  
  278.  
  279. ◆アクセス手順    :手動ログインの場合この項目は必要ありません。必要な分だけ書
  280.          いて下さい。
  281.  
  282.          記述は、左の欄が判定する比較文字列、右の欄は転送文字列にな
  283.          ります。
  284.  
  285.          つまり、ホストから「比較文字列」が受信されるのを待ち、その
  286.          文字が受信されたなら、KX_Term20即座に「転送文字列」を送信し
  287.          ます。
  288.  
  289.          たとえば比較文字列に「ID:」、送信文字列に「DEN0006\r」と書
  290.          いておけば、ホストから ID の入力待ちになった時に勝手に ID
  291.          を送ってくれるのです。ここで '\r' は [RETURN] キーを意味し
  292.          ます。
  293.  
  294.          同様にパスワードの設定も書いておけば自動でログインを全部やっ
  295.          てくれることになります。ただし、この場合パスワードが人の目
  296.          に触れることのないよう厳重に管理しなければなりません。心配
  297.          な方は手動でパスワード入力するようにして下さい。
  298.  
  299.          もちろん、ID や パスワードの入力待ちのプロンプトはネットに
  300.          よって異なりますからそれぞれ工夫して書いてみて下さい。
  301.  
  302.  
  303.          例 「login:      」 > 「6\r           」
  304.             「Passwd:     」 > 「******\r      」
  305.  
  306.         比較文字列に NULL とだけ書くと、受信待ちせずに無条件で右側の
  307.         文字列を送信します。
  308.  
  309.  
  310.         なお、最初の比較文字列が '&' で始まる場合はそれ以後の記述は
  311.         無視され、そのマクロを呼び出します。ネット毎に細かい設定を行
  312.         なったり、特殊なログイン手順を記述したい場合、ログイン後に自
  313.         動でメールチェック等の作業を行なわせる場合等、に利用して下さ
  314.         い。
  315.  
  316.          例 「&nantoka    」 > 「              」
  317.  
  318.  
  319. ◆RS232C設定    :RS232C (tmsio)のパラメータ設定です。これはウィンドウ下の方
  320.          に並んでますから、マウスの右ボタンのポップアップメニューで
  321.          変更します。
  322.  
  323.          この辺の具体的な中身はわかりますよね?通信速度、bit長、パリ
  324.          ティ等の項目は、それぞれ繋ぐ相手 (modem や WS 等) と速度を
  325.          合わせます。文字落ち等があるようなら、ここの設定でフロー制
  326.          御 (Xon/Xoffフローやハードフロー) を再確認してみて下さい。
  327.  
  328.          ちなみに1番右にあるのは漢字コードです。X680x0 で普通使われ
  329.          ているのがシフトJISというもので、ほとんどのネットはこれで
  330.          大丈夫でしょう。ワークステーション端末にする場合は、それに合
  331.          せて EUC などに変更すると便利でしょう。
  332.  
  333.  
  334.  
  335. ●直接 net_menu.lst を編集する場合  --- (ここは読まなくても構いません)
  336.  
  337.   上記のように k20menu 上で修正を行いますが、実際の定義した net_menu.lst の
  338. 中身は以下のようになっています。もちろんこれを直接テキストエディタで修正して
  339. もかまいません。
  340.  
  341. <<< net_menu.lst の記述例 >>>
  342. ///////////////////////////////////////////////////////////////////////////////
  343. den "DenDenNET" 21-5952 市内 d:/dn*.log "9600 8 N 1 X ON SJIS" 30  "" --> \rID\rPASSWD\r
  344. ///////////////////////////////////////////////////////////////////////////////
  345. Key,ネット名,電話番号,区域,ログファイル,RS232C設定,OPT,モデムコマンド,アクセス
  346. 手順の順
  347.  
  348.   以下、項目を直接記述する場合の補足説明です。
  349.  
  350. 【記述上の注意】
  351.  
  352. (1) 各項目の区切りはスペースです。スペースを含む場合は「"」で囲んで下さい。
  353.     (k20menu.win を使った場合は自動でやってくれます「"」は必要ありません)
  354. (2) ログファイル名やモデムコマンド、転送文字列に文字「\」を用いる場合は「\\」
  355.     と記述して下さい。パスの区切りはできるだけ「/」を使った方がいいでしょう。
  356.  
  357. 【ちょっと便利な使い方】
  358.  
  359. (1) ログファイル名、モデムコマンド、RS232C設定、転送文字列には環境変数の内容
  360.     を取り込むことができます。「\$(環境変数名)」と記述します。ログファイルディ
  361.     レクトリのパス名等、ネット毎に共通の内容を変数にしておくと便利でしょう。
  362.  
  363. <例> den "DenDen-NET" 23-???? 市内 \$(LOG)/den.log \$(RSDEF) 0 \$(MODEMDEF) ..
  364.  
  365.  
  366. 注意:    すべてのネットがこの設定だけでログインできるようになるとは限りません。
  367. 注意:    今後改良のためこれらの記述フォーマットが無断で変更される場合があります。
  368.  
  369.  より複雑なログイン手順が必要な場合や、自動手順などもっと複雑な動作が必要な
  370. 場合はためにネット毎にマクロを用意することもできます。
  371. (→「●より高度に-  自動ログインマクロ」参照)
  372.  
  373.  
  374.  
  375. ●実際のログイン手順
  376.  
  377.     1)(KX_Term20) k20.win を起動する
  378.     2)ポップアップメニューから DialMenu を選ぶ (または[F5]キー)
  379.     3)ネット名の左の黒丸をマウスで左クリック、
  380.         またはカーソルを移動して[RETURN]キーで選択する
  381.  
  382. これだけで、その設定したネットに自動ログインを行なうことができるようになりま
  383. す。また、k20menu を通してアクセスした場合、それぞれのログファイルを残すこと
  384. ができ、簡単な料金集計等が可能になります。もっといろいろ使いたい方は k20menu
  385. のマニュアルを参照してみて下さい。
  386.  
  387.  
  388.  
  389. ●その他のログイン方法  --- (ここは読まなくても構いません)
  390.  
  391.   k20menu を通さずに、直接 net_menu.lst の設定に従ってアクセスすることもでき
  392. ます。
  393.  
  394.     1)(KX_Term20) k20.win を起動する
  395.     2)[F1] キーを押すと「exec macro?」と出るので、「ac [RETURN]」と入力
  396.     3)ネットのメニュー一覧が出るので番号で選ぶ
  397.  
  398.   または次のようにショートカットしても構いません
  399.  
  400.     1)(KX_Term20) k20.win を起動する
  401.     2)[F1] キーを押すと「exec macro?」と出るので、次のように入力する
  402.  
  403.         ac 設定したネット識別子(net_menu.lstのKey) [RETURN]
  404.  
  405.   k20menu を実行するだけのメモリがない場合に有効でしょう。
  406. (注: これらの自動ログイン等の機能はすべてマクロで書かれているだけに過ぎませ
  407. ん。よってすべてがカスタマイズ可能です)
  408.  
  409.  
  410.  
  411. ● k20menu でアクセス集計を行う
  412.  
  413.   k20menu を使えば、使用した電話料金や接続時間等を集計表示させることができま
  414. す。この機能を使うためには、アクセスの度にログイン時間等をログファイルに保存
  415. しなければなりません。ログ保存を行わせるためには、環境変数 K20TEL に、ログファ
  416. イル名を作成するディレクトリ名を設定して下さい。なお、保存するアクセスログファ
  417. イル名は常に k20log.tel になります。
  418.  
  419.  <例> A:\LOG に k20log.tel を保存する場合、AUTOEXEC.BAT に次の行を追加する。
  420.  
  421.         set K20TEL=A:/log/
  422.  
  423.      パスの区切りは '/' を使います。設定するパス名の最後には、このように '/'
  424.      が必要です。(環境変数名 "K20TEL" は必ず大文字です)
  425.  
  426.  
  427. 注: 従来は環境変数 K20TEL を定義していなくてもマクロディレクトリに勝手にログ
  428.     ファイル保存を行うようになっていました。この点で仕様が修正されたので注意
  429.     して下さい。
  430.  
  431. 注: アクセスログファイル保存を行っている場合、ログファイルは永遠に増え続けま
  432.     す。定期的に k20log.tel を編集して、古いデータを削除するようにして下さい。
  433.  
  434.  
  435.  
  436. ●マウス操作
  437.  
  438. 【左ボタン】ウィンドウの任意の部分をドラッグし、反転した領域をクリップボード
  439.         に取り込むことができます。
  440.  
  441.         ウィンドウ右端のログバーをクリックすると、その大きさでログウィン
  442.         ドウが開きます。ログバーのクリックで ON/OFF ログウィンドウの「日」
  443.         の部分をドラッグしてリサイズ可能。
  444.  
  445.  
  446. 【右ボタン】ポップアップメニューです。内容は最大30項目まで全部好きなように
  447.         定義できます。(WSRV.RC に設定がなければメニューは出ません)
  448.  
  449.         標準の設定例が WSRV.RC の追加した部分に書いてあるはずですので、設
  450.         定を好きなように書き換えてみて下さい。設定を変更した場合は一度
  451.         Ko-Window を終了し、起動し直す必要があります。
  452.  
  453.         サンプルでは次のように設定してあります。
  454.     ┌─────┐
  455.     |  Paste   |    クリップボードの内容をキー入力として取り込みます。
  456.     |Dial Menu |    ダイヤルメニューを開きます
  457.     | LineEdit |    chatwin によるローカル行編集(1行編集入力)をします
  458.     | X/Y Down |    X-MODEM または Y-MODEM によるダウンロード(自動判別)
  459.     | Y-G Down |    Y-MODEM-G によるダウンロード
  460.     |YGbatDown |    Y-MODEM-G-batch によるダウンロード
  461.     |  Y   Up  |    Y-MODEM または Y-MODEM-G によるアップロード(自動判別)
  462.     | ish Down |    ish ファイルのダウンロードマクロを起動します
  463.     | ish Up   |    ish ファイルのアップロードマクロ(koishenc)を起動します
  464.     | Font-10  |    ウィンドウのフォントサイズを 10 ドットにします
  465.     | Font-12  |    ウィンドウのフォントサイズを 12 ドットにします
  466.     | Font-16  |    ウィンドウのフォントサイズを 16 ドットにします
  467.     | Font-24  |    ウィンドウのフォントサイズを 24 ドットにします
  468.     |  Break   |    実行中のマクロプログラムを全部停止させます
  469.     |TermReset |    ターミナル部の初期化を行ないます
  470.     |  Exit    |    KX_Term20 を終了します
  471.     └─────┘
  472.     また、頻繁にアクセスするネットをポップアップメニューに登録しておくこ
  473.     ともできます。
  474.  
  475. 【他のウィンドウから転送した場合】
  476.     (1)クリップ&ペーストで、転送した場合、その内容をキー入力のかわり
  477.           に送信します。
  478.  
  479.     (2)KF からファイルを転送した場合、そのファイルの内容をアップロード
  480.           します。(複数のファイル転送に対応)
  481.  
  482.     (3)KF からファイルを転送し、そのファイルの拡張子が「.k20」の場合、
  483.           それをマクロと見なして実行します。
  484.  
  485.  
  486.  
  487. ●標準ファンクションキー割りあて
  488.  
  489.   ファンクションキーはポップアップメニュー同様全部ユーザーが定義可能なマクロ
  490. プログラムの1つです。これは付属の k20wsrv.rc によるデフォルトです。(「●ファ
  491. ンクションキーマクロ」参照)
  492.  
  493. [F1]        マクロプログラムの実行 (中止は空[RETURN])
  494.  
  495. [F2]        マクロプログラム実行の中止
  496.  
  497. [F3]        行入力モードの設定と解除
  498.         いわゆるチャットモードの切り替えです。1行分をローカルで編集
  499.         し、[RETURN] で送信します。CTRL+J だと、バッファのフラッシュ
  500.         だけで、最後に改行がつきません。(これはchatwinではありません)
  501.  
  502. [F4]        プロトコル通信メニュー
  503.  
  504. [F5]        オートログインのダイアルメニューを開きます
  505.  
  506. [F7]        テキストファイルの送信(ファイル名をキー入力する場合)
  507.             「up load ?」と聞いてきたら、直接アップするファイル名
  508.             をフルパスでキー入力する。
  509.             (空 [RETURN] で中止)
  510.  
  511. [F8]        ログファイルの設定
  512.             「log file ?」と聞いてきたら、記録するファイルへの
  513.             パス名を指定する。
  514.             (空 [RETURN] で中止)
  515.  
  516. [F9]        ログ記録の終了と再開 (トグル動作)
  517.  
  518. [F10]        シェルモードの実行 (空 [RETURN] で中止)
  519.  
  520. [F11]        スクロール固定行モードにする(1行) onlineでscreen editorを
  521.         使う場合等に便利。
  522.  
  523. [F12]        スクロール固定行モードにする(6行)
  524.  
  525. [F13]        スクロール自動制御モードにする(通常はこれ)
  526.  
  527. [F19]        アップロードウエイト値設定
  528.  
  529. [F20]        回線切断
  530.  
  531. [HELP]        ヘルプウィンドウの表示
  532.  
  533. [UNDO]        ログウィンドウの開閉
  534.  
  535. [ROLLUP]    ログウィンドウのスクロール
  536.  
  537. [ROLLDOWN]    ログウィンドウのスクロール
  538.  
  539. [↑]        ESC[A コード送信
  540.  
  541. [↓]        ESC[B コード送信
  542.  
  543. [←]        ESC[D コード送信
  544.  
  545. [→]        ESC[C コード送信
  546.  
  547. [DEL]        0x7f コード送信
  548.  
  549. [CLR]        ESC[2J コード送信
  550.  
  551. [OPT1]+[UNDO]    ログファイルを view.win に開く
  552.  
  553. [OPT1]+[←]    ログファイル(view.win)のロールアップ
  554.  
  555. [OPT1]+[→]    ログファイル(view.win)のロールダウン
  556.  
  557. [OPT1]+[↑]    ログファイルの上スクロール
  558.  
  559. [OPT1]+[↓]    ログファイルの下スクロール
  560.  
  561. [OPT1]+[ROLLUP]    ログファイルの最終行へ
  562.  
  563. [OPT1]+[ROLLDW]    ログファイルの先頭行へ
  564.  
  565. 他は未定義
  566.  
  567.   行入力モードでは ED.X または EMACS 風のキー配置で行内編集ができます。環境
  568. 変数 KOWINKEY に iemacs と設定するか [CTRL]+[_][e] と入力すると EMACS モード
  569. になります。これは他の多くの Ko-Window アプリケーションに共通していますので、
  570. 問題ないでしょう。
  571.  
  572. 注意:キー入力を必要とする [F1] などの動作は、入力の中止は [ESC] ではなくて
  573.       空改行です。(何も入力せずに [RETURN] キーを押す)
  574.  
  575. 注意:v2.14 より行入力モード時は、[←][→][↑][↓][INS][DEL]キーは行編集動作
  576.       優先となりました。
  577.  
  578. 注意:v2.21 よりログウィンドウ機能がつきました。ログウィンドウはスクロールア
  579.       ウトした行のうち最新の200行を保存します。なお、従来の view.win を使っ
  580.       たログ閲覧は [OPT.1] との併用に移動しました。(もちろんバインドは自在
  581.       に変更可能)
  582.  
  583.  
  584.  
  585.  
  586. ●より高度に-  自動ログインマクロ
  587.  
  588.   より複雑な手順が必要な場合、または net_menu.lst だけの設定に不満を持ってい
  589. る場合、ネットごとにログインマクロを用意することができます。
  590.  
  591.   付属の hostpro.k20 は HOSTPRO 系ホストのサンプルです。「▼」記号の下の部分
  592. をそれぞれ修正するだけで使えるはずです。
  593.  
  594.   例えば SPS-NET 用に書き換えたものを sps.k20 というファイルにしておいて、こ
  595. のターミナルを起動します。[F1] を押して sps [RETURN] と入力すればそのプログ
  596. ラムに従ってログインできるでしょう。(拡張子の .k20 は省略します)
  597.  
  598.   また起動時にいきなり「k20.win sps [RETURN]」としてもかまいません。ウィンド
  599. ウが開くと同時にログインを開始します。
  600.  
  601.   他のところでもちょっとした修正で使えると思いますので試してみて下さい。
  602.  
  603.  
  604.  
  605.  
  606.     《《ターミナルソフトとして用いる》》
  607.  
  608.  
  609. ●ターミナル設定
  610.  
  611.   この場合は特に複雑な設定は必要ないでしょう。いきなり起動して RS.win や、付
  612. 属の tmsioctrl.x で設定を修正しながら接続テストを行なってもかまいません。う
  613. まくつながるようなら、その設定を WSRV.RC の DEFSET の項目に書いておくと、起
  614. 動時にそのパラメーターで立ち上がります。 (K20wsrvT.rc を使用した場合)
  615.  
  616.   キー操作やマウス操作など基本的な部分はパソコン通信に用いる場合と同じです。
  617.  
  618.  
  619.  
  620. ●デフォルトのポップアップメニュー内容
  621.  
  622.     ┌─────┐
  623.     |  Paste   |    クリップボードの内容をキー入力として取り込みます。
  624.     | X/Y Down |    X-MODEM または Y-MODEM によるダウンロード(自動判別)
  625.     |Y-batDown |    Y-MODEM-BATCH によるダウンロード
  626.     |   Y  Up  |    Y-MODEM によるアップロード(自動判別)
  627.     | ish Down |    ish ファイルのダウンロードマクロを起動します
  628.     | ish Up   |    ish ファイルのアップロードマクロ(koishenc)を起動します
  629.     | Font-10  |    ウィンドウのフォントサイズを 10 ドットにします
  630.     | Font-12  |    ウィンドウのフォントサイズを 12 ドットにします
  631.     | Font-16  |    ウィンドウのフォントサイズを 16 ドットにします
  632.     | Font-24  |    ウィンドウのフォントサイズを 24 ドットにします
  633.     |KanjiSJIS |    漢字コードを シフトJIS にします
  634.     |Kanji EUC |    漢字コードを EUC にします
  635.     |Kanji JIS |    漢字コードを JIS (7bit) にします
  636.     | LineEdit |    chatwin によるローカル行編集(1行編集入力)をします
  637.     |  Break   |    実行中のマクロプログラムを全部停止させます
  638.     |TermReset |    ターミナル部の初期化を行ないます
  639.     |  Exit    |    KX_Term20 を終了します
  640.     └─────┘
  641.  
  642.   このように、メニューに漢字コードの変更が含まれています。(ただし、WSRV.RC
  643. の DEFSET が正しく定義されている場合のみ)X-WINDOW の kterm 等のように、オン
  644. ラインでコード変換ができて便利です。
  645.  
  646.  
  647.  
  648. ● termcap や terminfo の設定
  649.  
  650.   KX_Term20 用の termcap や terminfo ソースファイルが付属しています。これは
  651. KX_Term20 用にさまざま最適化されている定義内容なので、端末として用いる場合に
  652. は、できるだけこの付属のものを登録して使用する様にして下さい。その方が動作も
  653. 速くなります。
  654.  
  655. (注意: terminfo ファイルが付属していない場合は OS 付属のコンバータ captoinfo
  656. を使って下さい)
  657.  
  658.   テキストエディタ vi / Mule や、Wnn 付属の uum までもちゃんと動くようにな
  659. ります。(余談ですが、作者はメモリ 1M の X68000 <CZ-600C 無改造> を FD ベース
  660. で起動し、端末として用いたこともあります。FEP も入らないので、ドライバは最小
  661. 限にして、Ko-Window もウィンドウマネージャーと KX_Term20 だけ起動します。その
  662. 時漢字変換は uum を用いて jserver で変換して使いました)
  663.  
  664.  
  665. ・どうしても TERM 設定ができない応急の場合の代用エントリはどれを選ぶべきか?
  666.  
  667.  
  668.     vt100 : 不要な設定が多く書かれているのであまりお勧めできませんが、動
  669.         作は可能です。k20.win 起動時に -V2 オプションをつけておいて
  670.         下さい。
  671.     xterm : 相性はかなり良好です。k20.win 起動時に -V オプションをつけて
  672.         おいて下さい。ちゃんとエディタ等が終了した時、元の画面復帰ま
  673.         でしますのでなかなかのお勧め。
  674.     ansi  : 問題ありません。そのまま動作します。ただし、ものによってはエ
  675.         ントリの記述が少なく、動作効率がかなり落ちます。
  676.     pc98  : まず問題なく動作します。ただし、このエントリが書いてあること
  677.         はまれかも。
  678.     付属のもの: やはり付属のtermcap/terminfo が1番の効率がいいはずです。
  679.  
  680. なお、この辺はそれぞれのマシンの termcap 設定、またはそれを用いるプログラムに
  681. 依存するので一概にはいえません。
  682. 具体的な設定方法(シェルによる違い等)は QandA.doc を参照して下さい。
  683.  
  684.  
  685.  
  686.  
  687.     《《その他、共通事項等》》
  688.  
  689.  
  690. ●付属ファイルについて
  691.  
  692.     → ReadMe.doc を参照して下さい。
  693.  
  694.  <<すでに旧バージョンをお使いの方へ>>
  695.  
  696.   一部仕様が変っている可能性があります。termcap やマクロなど、付属ファイルは
  697. 必ず新しいものと入れ替えて使って下さい。
  698.  
  699.  
  700.  
  701. ●特殊キーコード送信機能
  702.  
  703.   [CTRL]+[SPACE] で 0x00 を送信することができます。UNIX のターミナルとして使
  704. う場合、Emacs 上でも [CTRL]+[SPACE] でマークセットできますので便利です。
  705.  
  706.   [SHIFT]+[BS] で 0x7f (DELコード) の送信ができます。
  707.  
  708.  
  709.  
  710.  
  711. ●スクロール行数
  712.  
  713.   v2.30 からは、デフォルトではスクロール行数の自動判定になっています。これは
  714. 受信バッファの内容量からスクロール行数を勝手に判断し、表示の遅さをカバーして
  715. くれるというものです。
  716.  
  717.  ただし、必ずしも最適ではなく、場合によってはレスポンスが悪かったりスクロー
  718. ルがうっとおしいこともあるでしょう。
  719.  
  720.   その場合、WSRV.RC の標準設定でファンクションキーで3種類のスクロールモード
  721. に即座に変更できるようになっているので活用して下さい。
  722.  
  723.   例えばオンラインでスクリーンエディタ(vi)使用時など、1行スクロールでないと
  724. まともに表示が見れない場合は、[SHIFT]+[F1] を押して、スクロール行数を1行に
  725. 固定すると便利です。
  726.  
  727.   また大きなファイルを表示させてログを取る場合等は、スクロール行数を大きく取
  728. ると便利です。デフォルトでは [SHIFT]+[F2] で6行スクロールになります。この値
  729. は WSRV.RC を修正して変更できますので、12 行等に設定しておくと Nemacs のよう
  730. な半ページ切り替えになるでしょう。
  731.  
  732.   もとの自動判定に戻すには [SHIFT]+[F3] です。
  733.  
  734.  
  735.  
  736.  
  737. ●キャラクタコード属性定義機能
  738.  
  739.   v2.30 から ASCII コードの文字それぞれに、独立してさまざまな属性を与えるこ
  740. とができるようになっています。できるのは
  741.  
  742.     D:画面へのエコー
  743.     C:受信判定可能
  744.     L:ログへの保存
  745.     P:受信時に特定のマクロをスタートさせる
  746.  
  747. この4つです。これはマクロ内で &chcode コマンドを用い
  748.  
  749.     &chcode 7 D---
  750.  
  751. のように使用します。この場合、7 (つまりベル)の文字を受信しても、'D' つまり画
  752. 面には表示(=ベルが鳴る)するけど、ログファイルには残りません。
  753.  
  754.   また、Nifty 等では NULL コードを送信してくることがあるそうですが、そういう
  755. ときは
  756.  
  757.     &chcode 0  ----
  758.  
  759. のように NULL 文字のすべての属性を OFF にしておけば KX_Term20 は完全にそのコー
  760. ドを無視します。
  761.  
  762.   なお、0~255 まで全部のコードを初期化するには ALL と指定して次のようにしま
  763. す。
  764.  
  765.     &chcode ALL DCL-
  766.  
  767. これがデフォルトの属性です。
  768.  
  769.   C というのは、&waitfor 等で受信チェックを行なうかどうかの設定です。例えば
  770.  
  771.     &chcode 32 D-L-
  772.  
  773. とした場合は 32 = SPACE 文字が受信チェックに含まれません。表示やログ保存は正
  774. 常に行なわれますが、
  775.  
  776.     &waitfor "login:" "y0001\r"
  777.  
  778. に対して "log in:"  "login :" 等が送られてきても SPACE は無視するのでこの場
  779. 合の受信チェック文字列としてマッチします。
  780.  
  781.   最後の P 属性をつけた場合は、そのコード受信時に特定のマクロをスタートさせ
  782. るというものです。ただし1文字判定なので漢字とか複数文字列の判定は結構たいへ
  783. んかもしれません。
  784.  
  785.     &chcode 26 DCLP Z
  786.  
  787. のように、P 属性をつけた場合は最後にマクロ識別文字(この場合は'Z')が必要で
  788. す。コード 26 (CTRL+Z) を受信したら、そのマクロ識別文字+文字コードという名
  789. 前でマクロを実行します。上記の場合は Z026.k20 というマクロが実行されるはずで
  790. す。実際の使い道は工夫次第でしょう。
  791.  
  792.  
  793.  
  794.  
  795. ●起動時のコマンドオプション
  796.  
  797.   オプションの大文字小文字を明確に区別するので注意!
  798.  
  799.     k20.win  [<option switch>] [<macro program>]
  800.  
  801.     -x<n>        ウィンドウ初期表示位置
  802.     -y<n>
  803.  
  804.     -f<n>        フォントサイズ (10,12,16,24 のみ)
  805.  
  806.     -l<n>        ウィンドウ行数を設定します。デフォルト24行、最大 80行
  807.  
  808.     -L<n>        簡易バックログ領域の行数を指定します。デフォルトでは
  809.             200行(-L200)です。
  810.  
  811.     -V        vt100互換モードにします。ESC=を無効に、かつ画面右端
  812.             での改行コードを無視します。(xterm モード)
  813.  
  814.     -V2        もう少し強力なvt100互換モードにします。-V に加え画面
  815.             右端での行の折り込みをしません。(いわゆるオートマージ
  816.             ン無し)また同様に画面左端で BS しても前の行に戻りませ
  817.             ん。
  818.  
  819.     -m<n>K        マクロや簡易バックログ用バッファ領域のメモリサイズを
  820.             指定します。デフォルトは 60K バイトですが、大きなマク
  821.             ロを実行する場合などに領域を拡張して下さい。後ろの'K'
  822.             を忘れずに。
  823.  
  824.     -n        PopUp MENU や F2 の "Break" 実行時、break 信号の送信
  825.             をしません。マクロの停止のみ行います。従来と同じです。
  826.             デフォルトでは表記に混乱をうける可能性があるのでそれ
  827.             に合わせた break 信号の送信も同時に行うようになってい
  828.             ます。
  829.  
  830.     <macro program>    そのマクロを起動後に実行する(拡張子.k20 は省略)
  831.  
  832.  
  833.  
  834. ●マクロプログラム
  835.  
  836.   この KX_Term20 は、簡単なマクロ言語のインタープリタを内蔵しています。制御
  837. 命令は低レベルですが、エスケープ文字による強力な文字列置換が可能です。このマ
  838. クロプログラムは内部でプロセスのような構造を持ち、たとえ1つのマクロ実行中で
  839. あってもいつでも別のマクロを割り込み実行させることが可能です。
  840.  
  841.   また、ウィンドウ下の入力行による処理も、別プロセスのような扱いで、基本的に
  842. はマクロ実行と独立しています(呼び出しのネスティングが可能)。ただし、マクロ
  843. 内でそのルーチンを使用する場合には行入力するまで SLEEP します。
  844.  
  845.   マクロは、ポップアップメニューやファンクションキーの登録等に一貫して同じ記
  846. 述を用いることができます。また、それぞれマクロファイルとしてコマンド定義がで
  847. き、簡単に使えるよういくつかのマクロによる標準ルーチンが用意されています。
  848.  
  849.   簡易マクロ:    WSRV.RC 内の Macro 行で定義します。1行なので1度のタイミン
  850.         グで実行されますが、その代わり分岐等の制御文は使用できません。
  851.  
  852.   通常マクロ:    拡張子 *.k20 の個別のファイルとして記述し、指定したディレク
  853.         トリにまとめて入れておきます。行単位で処理が行なわれます。
  854.  
  855.   なお、マクロ名に大文字小文字の区別はありません。(内部コマンドには大文字小
  856. 文字の区別が明確にあります)
  857.  
  858.  
  859.  
  860.  
  861. ● WSRV.RC の設定
  862.  
  863. Menu    <メニュータイトル> <実行内容>
  864.  
  865.     マウスの右ボタンで出るポップアップメニューを定義します。(実行内容は
  866.     最大 80 文字まで)扱いは簡易マクロと同じです。
  867.  
  868. Macro    <マクロ名> <内容>
  869.  
  870.     簡易マクロを定義します。<内容> には分岐等の複雑な記述はできませんが、
  871.     1行で書ける簡単なマクロが定義できます。
  872.  
  873. Load    <マクロ名>
  874.  
  875.     よく使われるマクロを予めメモリにロードしておくコマンドです。この指定
  876.     がなくても一度読み込まれたマクロはメモリ上に置かれます。
  877.  
  878. Set    <変数名>  <内容>
  879.  
  880.     環境変数の設定を行ないます。ここで BELL の設定もできます。
  881.  
  882.     vbell    0: 通常のベルを鳴らす (デフォルト)
  883.         1: ビジュアルベルにする (従来の KX_Term20 はこれ)
  884.         2: ベルを鳴らさない
  885.  
  886.     例  Set vbell 1
  887.  
  888. UnSet    <変数名>
  889.  
  890.     環境変数を消去します。
  891.  
  892. Exec    <マクロ名>
  893.  
  894.     指定マクロのロードと同時に実行も行なわれます。もちろん簡易マクロでも
  895.     実行可能です。もし実行するマクロに引数を与えたいなら、マクロ名を含む
  896.     全体を " で囲って下さい。例「Exec "setparam 9600 ..."」
  897.  
  898. MacroDir  <ディレクトリ名>
  899.  
  900.     マクロを読み込むためのディレクトリを指定します。この指定がない場合は
  901.     k20.win を実行したディレクトリからマクロをサーチします。「\」を使う
  902.     場合には2つ重ねて書いて下さい。(ディレクトリ名の最後には '/' をつ
  903.     けること)
  904.  
  905. LogDir    <ディレクトリ名>
  906.  
  907.     ログファイルを保存するためのディレクトリを指定します。この指定がない
  908.     時は、カレントディレクトリになります。(フルパスで書けば別)「\」を
  909.     使う場合には2つ重ねて書いて下さい。(ディレクトリ名の最後には '/'
  910.     をつけること)
  911.  
  912.  
  913.  
  914. ●マクロディレクトリ
  915.  
  916.   <<マクロファイル検索手順>>
  917.  
  918.     wsrv.rc に MacroDir 行がある場合
  919.  
  920.         (1) wsrv.rc の MacroDir で指定したディレクトリ
  921.         (2) カレントディレクトリ
  922.  
  923.     wsrv.rc に MacroDir 行がない場合
  924.  
  925.         (1) k20.win を起動したディレクトリ
  926.         (2) カレントディレクトリ
  927.  
  928.   マクロファイルは上記のように検索されます。通常は k20.win を起動したディレ
  929. クトリを検索しますが、k20.win だけを path を通したディレクトリに移動したい場
  930. 合は MacroDir を指定すると便利です。付属の k20wsrv.rc では最初 MacroDir はコ
  931. メントになっていますので使用する場合は行頭の '#' を外して下さい。
  932.  
  933.   なお、一度メモリ上に読み込まれたマクロは以後ディスクから読み直すことはあり
  934. ません。ディスク上のマクロファイルを修正した場合などはいったん起動し直す必要
  935. があります。
  936.  
  937.  
  938.  
  939. ●標準マクロ
  940.  
  941. &echo    <文字列>
  942.  
  943.     文字列をウィンドウ内に表示します。転送はしません。(ローカルな表示)
  944.  
  945. &cecho    <文字列>
  946.  
  947.     文字列を Console に表示します。
  948.  
  949. &rsput    <文字列>
  950.  
  951.     文字列をキー入力の代りに転送します。
  952.  
  953. &write    <ファイル>,<文字列>
  954.  
  955.     ファイルに文字列を書き出します。
  956.  
  957. &write+    <ファイル>,<文字列>
  958.  
  959.     ファイルに文字列を追加します
  960.  
  961. &echo_on
  962.  
  963.     画面へのエコー表示を許可します。
  964.  
  965. &echo_off
  966.  
  967.     画面へのエコー表示を禁止します。
  968.  
  969. &setparam <SPEED> <bit長> <パリティ> <Stop bit> <Xon/Xoff> <RTS/CTS> [<漢字>]
  970.  
  971.     RS232C (tmsio.x) の通信パラメータを設定します。
  972.  
  973.     <SPEED>=    75, 150, 300, 600, 1200, 2400, 4800, 9600, 19200, 38400
  974.             (7200, 1200, 14400, 52080, 78125 も指定できます)
  975.     <bit長>=    5, 6, 7, 8
  976.     <パリティ>= N, O, E
  977.     <StopBit>=  1, 1.5, 2
  978.     <Xon/Xoff>= X, N
  979.     <RTS/CTS>=  ON, OFF
  980.     <漢字>=     SJIS, EUC, JIS, JISO, NEC
  981.             SJIS - シフトJIS X68000 標準コード
  982.             EUC  - EUC コード (DEC漢字,DG IKIS)
  983.             JIS  - 7ビットJIS(新JIS)
  984.             JISO - 7ビットJIS(旧JIS)
  985.             NEC  - NEC JISコード
  986.  
  987.     漢字コードの指定は省略できます。その時は SJISとみなします。
  988.     漢字コード変換全部は tmsio.x が行ないます。KX_Term20 上では SJIS とし
  989.     て処理を行なっています。
  990.  
  991.     <例> &setparam 9600 8 N 1 X ON SJIS
  992.  
  993. &modeminit  [<初期化文字列>]
  994.  
  995.     モデムによるログインを行なう場合、モデムを初期化します。最初にモデム
  996.     の電源チェックを行い、AT コマンドを送信したのち ATZ コマンドを転送し
  997.     ます。OK が返ってきたら指定された初期化文字列を実行します。(初期化文
  998.     字列は省略できます)その他 KX_Term20 を標準的な設定にします。
  999.  
  1000. &tel <ダイアルコマンド> [<ウエイト>]
  1001.  
  1002.     アクセスを開始します。電話をかけ、BUSY 時はリダイヤルします。ウエイト
  1003.     はリダイヤル時の待ち時間で 1/100 sec. です(省略可能)。
  1004.  
  1005. &tel2 <ダイアルコマンド1> [<ダイアルコマンド2> ...]
  1006.  
  1007.     アクセスを開始します。もし BUSY の場合、複数記述した番号を順番にかけ
  1008.     なおします。最大9個記述可能。どの番号にアクセスしたかは環境変数 $A
  1009.     に 0~8 の番号が入るので識別可能。( \$(A) を使って ID やパスワードを
  1010.     \@() で分岐すると便利です)
  1011.  
  1012. &telt <ダイアルコマンド> <ネット開始時間> <ネット終了時間>
  1013.  
  1014.     時間チェック付きのアクセス開始マクロです。時間外の時は自分と呼び出し
  1015.     もとの親マクロプロセスを終了させます。
  1016.  
  1017. &trip <ネット名>
  1018.  
  1019.     Tri-P アクセスする場合に &tel のかわりに用います。必ず事前に trip.k20
  1020.     内の必要次項を書き換えておいてください。そうしないと使えません。
  1021.     (マクロ作ってくれたSPS-NETのGaoさん感謝!)
  1022.  
  1023. &waitfor <比較文字列> <転送文字列>
  1024.  
  1025.     比較文字列を受信してから、転送文字列を送り出します。比較文字列に NULL
  1026.     とだけ書くと、受信待ちせずにむりやり転送文字列を送信します。
  1027.  
  1028. &logopen <ログファイル名>
  1029.  
  1030.     ログファイルをオープンし、記録を開始します。ファイル名中に「*」があ
  1031.     る場合は年月日6桁に、「@」は月日の4桁に置き換えます。
  1032.     例  sp*.log  ->  sp920302.log
  1033.  
  1034. &delete    <ファイル>
  1035.  
  1036.     ファイルを削除します
  1037.  
  1038. &ntt    <料金区域>
  1039.  
  1040.     ウィンドウ右下に表示される通話料金と使用時間のリセット、および通話料
  1041.     金の指定を行ないます。実際には、マクロ内の料金表を使って &nttset を
  1042.     呼び出しています。
  1043.         &ntt 市内    市内通話時
  1044.         &ntt 隣接    隣接区域
  1045.         &ntt 30K    30K以内
  1046.         &ntt 40K    40K以内
  1047.         &ntt 60K    60K以内
  1048.         &ntt 80K    80K以内
  1049.         &ntt 100K    100K以内
  1050.         &ntt 160K    160K以内
  1051.         &ntt 長距離    上記を越えた場合
  1052.         &ntt TriP    Tri-P 3分40円計算
  1053.         &ntt TP隣    Tri-P 3分50円計算 (Tri-Pアクセスポイントが隣接)
  1054.     (注意:これはあくまで目安です。土日祝日料金に対応していますが、一部
  1055.       春秋分の日と振替休日には対応していません。)
  1056.  
  1057.     別配布で、春秋分の日に対応したマクロが存在します
  1058.     (作:でんでんネットの LEEX さん)
  1059.  
  1060.     注意: このマクロの料金データは料金改訂によってどんどん古くなっていく
  1061.         可能性があります。
  1062.  
  1063.  
  1064. &nttset    "<時刻>,<単位時間>,<料金>" [...]
  1065.  
  1066.     料金表示の開始と設定をします。&ntt コマンドより詳しい設定をする場合に
  1067.     用います。
  1068.  
  1069.         <時刻>        その料金が有効な最終時刻
  1070.         <単位時間>    秒数で指定する
  1071.         <料金>        単位時間あたりの料金
  1072.  
  1073.     例  &nttset  "08,240,10" "23,180,10" "24,240,10"
  1074.  
  1075.     意味    00:00~
  1076.         ~08:00 まで 240秒10円
  1077.         ~23:00 まで 180秒10円
  1078.         ~24:00 まで 240秒10円
  1079.  
  1080.     8時以前は240秒(4分)10円,それ以後23時までは180秒(3分)10円,それ以後また
  1081.     240秒10円を意味します。接続した時間によって料金を判断し、カウント表示
  1082.     を開始します。(ただし表示の更新はおよそ 単位時間/3 の周期)
  1083.     表示のカウントは、キャリアオフ( &modeminit を使っている場合 )または
  1084.     &ntt off で解除されます。
  1085.  
  1086. &logout <マクロ>
  1087.  
  1088.     キャリアオフ時に指定したマクロを実行します。付属のマクロでは
  1089.     logoutexec.k20 を呼び出します。
  1090.  
  1091. &logoutexec
  1092.  
  1093.     キャリアオフ割り込み用に書かれたマクロです。このマクロは ac.k20 と組
  1094.     み合わせて k20menu.win 用のログファイルを保存することができます。
  1095.  
  1096. &upload    <ファイル>
  1097.  
  1098.     ファイルをアップロードします。
  1099.  
  1100. &upwait    <時間>
  1101.  
  1102.     アップロードする場合の行間ウエイトを指定します(1/100sec.)。デフォル
  1103.     トは 0 です。
  1104.  
  1105. &doscmd
  1106.  
  1107.     シェルモードに入ります。シェルモードでは command.x 上と同じようにコマ
  1108.     ンドが実行でき、空改行で終了します。
  1109.  
  1110. &backlog
  1111.  
  1112.     保存しているログファイルを view.win へ転送し、バックログの閲覧を行な
  1113.     います。
  1114.  
  1115. &ac [<Key>]
  1116.     net_menu.lst によるオートログインメニュー、ログイン動作他を行ないま
  1117.     す。この機能は全部 ac.k20 にマクロで書かれているので自由に拡張できま
  1118.     す。
  1119.  
  1120.     引数なしで実行すると、簡単なメニューを開いてログイン先の入力選択がで
  1121.     きます。
  1122.  
  1123.     引数に net_menu.lst の Key 文字列を与えると、メニューに入らずいきなり
  1124.     自動ログインを開始します。
  1125.  
  1126. &proto [<メニュー番号>]
  1127.  
  1128.     KoPro.win によってプロトコル通信を行ないます。引数なしで実行すると使
  1129.     用可能なプロトコルのメニューが開きます。メニュー番号を引数にすればメ
  1130.     ニューを介さずに直接実行させることが可能です。
  1131.  
  1132.     例    &proto 3        Y-MODEM-G 受信実行
  1133.  
  1134. &menu
  1135.     k20menu.win によるネットメニューの一覧を表示します。k20menu の起動オ
  1136.     プションを変更する場合にはこの menu.k20 を書き換えて下さい。
  1137.  
  1138. &chcode    <文字コード> <設定モード> [<マクロ識別文字>]
  1139.  
  1140.     受信文字個別の属性を変更します。
  1141.     <文字コード> = 0~255 の 1byte ASCII コードです
  1142.                ALL の時は、256個全部の属性を設定します
  1143.     <設定モード> = 次の機能を組み合わせた4文字で属性を指定します
  1144.             D: 表示する
  1145.             C: &waitfor 等のチェックに含める
  1146.             L: ログファイルへの保存対象とする
  1147.             P: 受信時に指定したマクロを実行(受信文字割り込み)
  1148.             通常文字の属性(初期値)は DCL- です。
  1149.     <マクロ識別文字>= モードに P が含まれている時実行するマクロ名の1文
  1150.             字目になります。マクロ名の2文字目以降は3桁の数値で、
  1151.             文字コードがそのまま入ります。例えば  識別文字= A の
  1152.             時は A000.k20 ~ A255.k20 のマクロが用いられるわけで
  1153.             す。
  1154.     設定例
  1155.  
  1156.     &chcode 00  ----    NULLコードはすべての属性を解除、つまり無視
  1157.     &chcode 26  DCLP Z    ^Z 受信時にマクロ Z026.k20 を実行します
  1158.     &chcode 7   D---    7(BELL)は受信時に鳴りますがログファイルには
  1159.                 残りません
  1160.     &chcode ALL DCL-    すべての文字属性を初期化します
  1161.     &chcode ALL -CL-    すべての文字の表示属性を解除、つまり事実上エ
  1162.                 コー OFF と同等です。
  1163.  
  1164.     なお、この設定は KX_Term20 内部でのみ有効で、KoPro 等のバイナリ転送
  1165.     には影響を及ぼしません。
  1166.  
  1167. &onhook
  1168.  
  1169.     回線を切ります。モデムコマンドを使うため切断にはしばらく時間がかかり
  1170.     ます。(そのかわり RSDRV.SYS でも大丈夫なはず)
  1171.  
  1172. &eroff
  1173.  
  1174.     回線を切ります。ER(DTR) の OFF->ON をします。ただしシリアルドライバと
  1175.     して tmsio.x 使用時に限られます。
  1176.  
  1177. &lineedit
  1178.  
  1179.     1行編集プログラム chatwin.win を起動します。このマクロを編集すると、
  1180.     chatwin.win の起動オプションを変更することができるようになります。
  1181.  
  1182. &upset [<ウエイト数>]
  1183.  
  1184.     ファイルをアップロードする場合の行間ウエイト数(1/100sec単位)を設定し
  1185.     ます。省略する場合はキー入力を促します。
  1186.  
  1187. &ishdown
  1188.  
  1189.     バイナリファイルを ish でダウンロードする場合に用います。K20wsrv.rc
  1190.     のメニューにはデフォルトで含まれています。ISH ダウンロード開始キー入
  1191.     力待ちの時に起動します。ダウンロード経過を見ながら最後まで受信したと
  1192.     判断したら [RETURN] を押して下さい。
  1193.     <具体例> HOSTPRO-68K 系ネットの場合
  1194.     ライブラリで「ダウンロード (Y/N)」と表示されている時に起動します。ス
  1195.     タート文字の入力をうながしてくるので Y [RETURN] と押して下さい。最終
  1196.     行まで受信したら [RETURN] を押します。あとは ish を自動展開しログにも
  1197.     残りません。(aish.x が必要)
  1198.  
  1199. &ishup <変換モード> [<ファイル名>]
  1200.  
  1201.     バイナリファイルを ish でアップロードする時に使います。kopro.win を
  1202.     呼び出します。モードは -s, -7, -8, -n のどれかです。それぞれ SJIS,
  1203.     jis7bit, jis8bit, nonkana-sjis になります。ファイル名を省略した場合
  1204.     は。起動後ファイル受取待ち状態になります。KF からアップすべきファイ
  1205.     ルを転送して下さい。(このへんは KoPro と同じ)
  1206.  
  1207. &color [<色コード>]
  1208.  
  1209.     ターミナルカラーを設定します。(エスケープシーケンスを使っているだけで
  1210.     す)色コードは Ko-Window 標準色で、以下の4種類が使えます。省略すると標
  1211.     準色に戻します。
  1212.         1    黒地に灰色
  1213.         3    黒地に白色
  1214.         9    灰色に黒文字(Normalカラー)
  1215.         11    白色に黒文字
  1216.  
  1217. &setspeed
  1218.  
  1219.     RS232Cの通信速度設定を行います。(メニューによる対話形式)
  1220.  
  1221. &viewparam
  1222.  
  1223.     現在のRS232Cの設定状況を表示します
  1224.  
  1225.  
  1226.  
  1227.  <その他知っておくと便利なコマンド>
  1228.  
  1229. $環境変数=内容
  1230.  
  1231.     環境変数を設定します。内容は \$(変数名) で取り込めます。
  1232.  
  1233. v変数名=数値
  1234.  
  1235.     ローカル変数に数値を代入します。扱えるのは数値だけであり、有効範囲は
  1236.     そのマクロの中だけです。(マクロごとに違う変数になる)変数名はアルファ
  1237.     ベットの A~Z のみ。内容は \v変数名 で取り込めます。
  1238.  
  1239. !コマンド名
  1240.  
  1241.     外部プログラムを実行します。COMMAND.X の内部コマンドを実行する場合は
  1242.     !command.x dir のように実行します。ウィンドウプログラムの実行も可能
  1243.     (拡張子を省略しないように)。表示を行バッファリングするので注意して
  1244.     下さい。
  1245.  
  1246.  
  1247.  
  1248. ●ファンクションキーマクロ
  1249.  
  1250.  ファンクションキーで実行されるマクロ名です。それぞれ [CTRL] や [OPT1] との
  1251. 組み合わせが可能です。必ずしも全部登録しておく必要はありません。
  1252.  
  1253. そのまま    [CTRL]+Key    [OPT.1]+Key   |    キー
  1254. ----------------------------------------------+-----------------
  1255. &F01~&F20    &F33~&F52    &F65~&F84    [F1]~[F20]
  1256. &F21        &F53        &F85        [ROLLUP]
  1257. &F22        &F54        &F86        [ROLLDOWN]
  1258. &F23        &F55        &F87        [INS]
  1259. &F24        &F56        &F88        [DEL]
  1260. &F25        &F57        &F89        [↑]
  1261. &F26        &F58        &F90        [←]
  1262. &F27        &F59        &F91        [→]
  1263. &F28        &F60        &F92        [↓]
  1264. &F29        &F61        &F93        [CLR]
  1265. &F30        &F62        &F94        [HELP]
  1266. &F31        &F63        &F95        [HOME]
  1267. &F32        &F64        &F96        [UNDO]
  1268.  
  1269. 例えば、[DEL] キーを押すと &F24 というマクロを実行し、[OPT.1] と一緒に [↑]
  1270. キーを押すと &F89 というマクロを実行します。付属の k20wsrv.rc では、全部簡易
  1271. マクロとして定義していますが、もちろん通常マクロ(ファイル)でも構いません。
  1272.  
  1273. (注: v2.30 から、ファンクションキーマクロでのみ、未定義マクロでもエラー表示
  1274. しないようになりました)
  1275.  
  1276.  
  1277. ●エスケープ文字
  1278.  
  1279.   マクロプログラムのすべての行はエスケープ文字による置換の対象となります。大
  1280. 文字小文字の区別に注意して下さい。
  1281.  
  1282. \\        文字「\」
  1283. \;        文字「;」
  1284. \)        文字「)」
  1285. \n        LF  0x0A
  1286. \r        CR  0x0D (送信する場合の[RETURN]キーに相当する)
  1287. \x<HH>        <HH> は16進数2桁。文字コードを直接書くことができる。
  1288. \$(<NAME>)    環境変数 <NAME> の内容に置き替る
  1289. \+(<N1>;<N2>..)    加算 <N1>と<N2>を加算した値になる(一度に複数書ける)
  1290. \-(<N1>;<N2>..)    減算
  1291. \*(<N1>;<N2>..)    乗算
  1292. \/(<N1>;<N2>..)    除算
  1293. \%(<N1>;<N2>..)    余り
  1294. \|(<N1>;<N2>..)    ビット毎の論理和
  1295. \&(<N1>;<N2>..)    ビット毎の論理積
  1296. \^(<N1>;<N2>..)    ビット毎の排他的論理和
  1297. \=(<N1>;<N2>)    数値比較 0:N1<N2  1:N1=N2  2:N1>N2
  1298. \e(<S1>;<S2>)    文字比較 0:S1<S2  1:S1=S2  2:S1>S2
  1299. \i(<S1>;<S2>)    文字比較 0:S1<S2  1:S1=S2  2:S1>S2 (大文字小文字区別なし)
  1300. \U(<N1>;<N2>)    <N1>を<N2>桁にして置換(数値のフォーマット指定)
  1301. \H(<N>)        <N>を16進数にして置換
  1302. \D(<HEX>)    <HEX>を16進数として10進数に変換する
  1303. \A(<CHAR>)    文字 <CHAR> のコードを求める(全角文字対応)
  1304. \X(<N>)        文字コード <N> から文字へ変換する(全角文字対応)
  1305. \_(<STR>)    <STR> の長さ
  1306. \Q(<STR>)    <STR> の大文字変換
  1307. \q(<STR>)    <STR> の小文字変換
  1308. \c(<S1>;<S2>)    <S1> の後ろからマッチする <S2> を削除する
  1309. \?(<N>;<S1>;<S2>)    <N> が数値 0 でなければ <S1> そうでなければ <S2>
  1310. \@(<N>;<S0>;<S1>..)    <N> 番目の <S>(0 から数えることに注意)範囲外はNULL
  1311. \k(<P>;<S1>;<S2>..)    <P> とマッチする <S> が何番目にあるかを返す(\@()の逆)
  1312. \s(<S1>;<S2>;<S3>)    <S1> の <S2> を <S3> に置換する
  1313. \m(<N1>;<N2>;<S>)    <S> の <N1> 番目から <N2> 文字分取り出す( MID$() )
  1314. \f(<PAT>;<S>)        <S> に含まれる <PAT> を探す。<PAT> には ? が使える
  1315. \g(<C1>;<C2>;<S>)    <S> に含まれる最初の <C1> から <C2> まで
  1316. \a(^<PAT>;<N>;<FILE>)    <FILE> から行頭に <PAT> がある行を探し、その行の<N>
  1317.             項目目を取り出す (<N> が 0 のときはその行全部)
  1318. \a(<LINE>;<N>;<FILE>)    <FILE> の <LINE> 行 <N> 項目目を取り出す
  1319. \B(<ADR>)    アドレス<ADR>の内容( BPEEK )
  1320. \W(<ADR>)    アドレス<ADR>の内容( WPEEK )
  1321. \L(<ADR>)    アドレス<ADR>の内容( LPEEK )
  1322. \R(<N>)        乱数 0~<N>-1 までの範囲
  1323. \d(<MODE>)    日付 <MODE>=0:1992/01/21 1:1992-01-21 2:92/01/21 3:92-01-21
  1324. \d(<MODE>)    曜日 <MODE>=4:数値0~6  5:漢字表現
  1325. \t        時間 XX:XX:XX 形式
  1326. \TA(<Sec.>)    秒数を時間のフォーマット(XX:XX:XX)に変換
  1327. \TS(<TIME>)    時間の文字列(XX:XX:XX)から秒数に変換
  1328. \E(<PAT>)    <PAT> を変換した内容をさらに変換する (EVAL)
  1329. \v<L>        ラベルの値(ローカル数値変数)
  1330. \ln        現在開いているログファイル名
  1331. \lf        現在ログを開いていれば1,そうでなければ0
  1332. \lt        ログイン時間(秒数)
  1333. \lc        料金カウンタ値(ウィンドウ右下に表示している料金)
  1334. \V(<LINE>)    スクリーンバッファの指定行の内容に置き替わる
  1335. \S        ステータスフラグの内容。TRUE の場合1、FALSE は0になる。
  1336. \G        受信チェックバッファの内容(最大256文字)
  1337. \wx        ウィンドウポジション X
  1338. \wy        ウィンドウポジション Y
  1339. \wf        ウィンドウのフォントサイズ
  1340. \wv        バージョン表示
  1341. \wd        MacroDir の内容
  1342. \wl        LogDir の内容
  1343. \wr        ウィンドウLine数(WindowRows)
  1344. \wu        アップロードウエイト数
  1345. \od        カレントディレクトリ文字列
  1346. \0        マクロの引数全部
  1347. \1~9        それぞれのマクロ引数
  1348. \#(<N>)        <N>番目のマクロ引数(この場合は9番目以降の引数も指定できる)
  1349. \P(<PROG>)    ウィンドウプログラム<PROG>が起動していればそのPID番号
  1350. \F(<M>;<FILE>)    指定した<FILE>が存在していればそのファイル名(フルパス名),そう
  1351.         でなければ NULL。ワイルドカード使用可能。<M> は次の加算値
  1352.         1:読み込み専用,2:不可視,4:システムファイル,16:ディレクトリ,
  1353.         32:通常ファイル, 256:次検索
  1354.  
  1355.  
  1356.  
  1357.   演算命令など、「(」と「)」で囲まれた中は再置換(再帰置換)の対象となります。
  1358. 例えば「\+(\$(A);1)」は環境変数「A」の内容に1を加えた値になります。また、
  1359.  
  1360.     $VAR=NUM
  1361.     $NUM=1234
  1362.     &echo "\$(\$(VAR))"
  1363.  
  1364. のように実行すれば2回置換が起こり、「1234」と表示されます。
  1365.  
  1366.   進路名の区切り「\」も2つ必要なことに注意して下さい。進路名の区切りには「/」
  1367. が使えますので、こちらは重ねて書く必要はありません。再々変換が起こると「\」は
  1368. 消えて無くなる可能性があるので、できれば「/」を使った方がいいでしょう。
  1369.  
  1370.  < 例 > ログファイル名に年月日を含ませる
  1371.     &logopen A:\\LOG\\SPS\s(\d(3);-;).LOG
  1372.             ↓
  1373.     &logopen A:\LOG\SPS920120.LOG    このように置換される。(92/01/20の場合)
  1374.  
  1375.  < 例 > ログファイル名に月日を含ませる(年は入れない)
  1376.     &logopen A:/LOG/SPS\m(2;4;\s(\d(3);-;)).LOG
  1377.             ↓
  1378.     &logopen A:/LOG/SPS0120.LOG    このようになる。
  1379.  
  1380. 注意!:演算は基本的に long int で行い、文字列は最大 255 文字です。ただし、
  1381.     再帰変換中の途中経過はその限りではありません。(つまり結果が 255 文
  1382.     字以内ならば大丈夫)
  1383.  
  1384.  
  1385.  
  1386. ●マクロプログラム用低レベルコマンド
  1387.  
  1388. #<COMMENT>    コメント (実際は nop コマンド)
  1389. ><MES>        文字列 <MES> を RS232C へ出力する。
  1390. )<MES>        文字列 <MES> を画面に表示する。
  1391. ]<MES>        文字列 <MES> を Console に表示する。
  1392. ?<STR>        文字列 <STR> を受信するまで wait する。
  1393. f<STR>        文字列 <STR> を受信したかどうか調べ、ステータスフラグをセット。
  1394. m<NUM>        RS232Cのモード設定( IOCS _SET232C へ渡す値 ) (ステータスへ)
  1395. r        受信チェックバッファ(256 byte)をクリアする。
  1396. @<FILE>        ファイル <FILE> にログ保存を開始する。
  1397. l0        ログファイル記録を終了する。
  1398. l1        ログファイル記録を再開する。
  1399. li<N1>,<N2>    ログイン時間をリセットし、料金の指定をする(カウント表示開始、
  1400.         表示更新はおよそ <N1>/3 の時間)
  1401.         <N1> 単位時間(秒数)  <N2> 単位時間あたりの料金
  1402.         <N1> が 0 のときはカウントストップ (li0)
  1403. -<NUM>        プログラム実行速度の設定。
  1404. s<NUM>        スクロール行数を設定する。(1~9行まで) default 4 行
  1405.         ここで行数に 0 を指定すると、受信バッファの量によってスクロー
  1406.         ル行数を自動変更するようになります。
  1407. e0        エコー表示の禁止。
  1408. e1        エコー表示の許可。
  1409. $<NAME>=<STR>    環境変数 <NAME> に文字列 <STR> を設定する。
  1410. $<NAME><<MSG>    環境変数にキー入力した文字列を設定。<MSG> は入力行メッセージ。
  1411.         この命令は必ず行末になければならない
  1412. !<PRG>        プログラム <PRG> を実行。終了コードがステータスに入る。
  1413. &<MACRO>    マクロプログラム <MACRO> を実行する。(サブルーチン実行)
  1414. t<STR>,<STR>    文字列が等しければステータスフラグを TRUE にする
  1415. n        ステータスフラグを反転する
  1416. :<L>        ラベル定義。A~Z のアルファベット1文字。マクロ毎に最大26個。
  1417. v<L>=<NUM>    ラベル<L>をローカル変数として数値を代入する (=はあってもなく
  1418.         てもよい) ただし、変数領域はラベルと共通。
  1419. g<L>        ラベルに飛ぶ。ラベルは A~Z までだが '>' を使うと次の行に飛ぶ
  1420. T<L>        ステータスが TRUE ならラベルに飛ぶ
  1421. F<L>        ステータスが FALSE ならラベルに飛ぶ
  1422. S<NUM>        フォントサイズの設定(10,12,16,24のみ)
  1423. L<NUM>        ウィンドウ行数設定(最大80) (v2.39では使用不可)
  1424. P        クリップボードからのペースト
  1425. w><FILE>,<STR>    ファイルに <STR> を書き込む。エラーはステータスフラグに入る。
  1426. w>><FILE>,<STR>    ファイルに <STR> を追加する。エラーはステータスフラグに入る。
  1427. u<FILE>        ファイルを削除する。エラーはステータスフラグに入る。
  1428. C<MODE>[,<MCR>]    キャリア割り込みモードの指定
  1429.         <MODE>    0:キャリア状態を無視
  1430.             1:キャリアオフで、ログ記録を終了する
  1431.             2:キャリアオフで指定マクロをスタートさせる
  1432.             (注意:割り込みマクロの先頭行で必ず割り込み禁止にして
  1433.             下さい)
  1434. c<CODE>,<MODE>[,<CHAR>]    キャラクタ属性を設定する
  1435.         <CODE>    設定する文字コードを指定します
  1436.         <MODE>      0:その文字を特別扱しません
  1437.             128:その文字を無視します
  1438.             128+以下の機能コードで、文字属性を変更できます
  1439.                 1:表示する
  1440.                 2:受信チェックバッファに格納する
  1441.                 4:ログファイルに記録する
  1442.                 8:指定の<CHAR><CODE>マクロを起動(割り込み)
  1443.         <CHAR>    割り込みマクロのマクロ名の最初の1文字。割り込みマク
  1444.             ロ名は <CHAR>+<CODE> です。例えば <CHAR> に "A" を指
  1445.             定すると A000.k20 ~ A255.k20 のマクロが用いられます。
  1446.             例 c0,128,        NULL文字を無視する
  1447.                c26,136,z        ^Zがきたら z026.k20 を実行
  1448. ci<MODE>    全部の文字のキャラクタ属性を<MODE>で初期化する
  1449. EK<PID>,<DATA>    プログラム <PID> に <DATA> を EventKey として転送する
  1450. EU<PID>,<M>,<D>    <PID> に <D> を EventUser の <M> として転送する
  1451.         <M> 0:UserPaste, 1:UserString  他 ComData の値
  1452. ;        コマンドの区切り。(1行に複数命令を書く場合)
  1453. .        実行中のプロセスを終了させる(複数指定するとさらにその上も終了)
  1454. `        KX_term20 を強制終了します。(ウィンドウを閉じる)
  1455. I0        ターミナル状態をイニシャライズし、エコーON状態にします。マク
  1456.         ロインタープリタ側の初期化は行ないません。
  1457. UT<TIME>    アップロード時の行間ウエイトを指定します。(1/100 sec.)
  1458. UP<FILE>    ファイルの内容を RS232C に転送します
  1459. i0        Interval 割り込みを禁止します (RS232C からのデータ受信を行な
  1460.         わない)
  1461. i1        Interval 割り込みを許可します
  1462. V<MODE>        VT100モードを切り替えます。
  1463.             V0 :  x68k ターミナルモード
  1464.             V1 :  xterm レベルターミナルモード
  1465.             V2 :  vt100 完全互換レベルターミナルモード
  1466. KU        簡易ログウィンドウの RollDown をします
  1467. KD        簡易ログウィンドウん RollUp をします
  1468. KO<LINE>    簡易ログウィンドウをオープンします。<LINE>は開くログウィンド
  1469.         ウのライン数です。<LINE>を省略すると KO12 と等価です。
  1470. KB0        メニューやF2のBreak実行時マクロのみ停止します(従来と同じ)
  1471. KB1        メニューやF2のBreak実行時Break信号の送信もします
  1472. K1        マクロ名の入力 & マクロ実行を行います。デフォルトの[F1]相当
  1473. K2        マクロプログラムのオールブレークをキー入力選択で実行します。
  1474.         デフォルトの[F2]キー相当
  1475. K3        行入力モードの ON/OFF をします。([F3]相当)
  1476. K4        マクロプログラムの実行を、キー入力確認なしに即中止します。
  1477. K7        アップロードするファイルをキー入力させ、アップロード処理を行
  1478.         います。([F7]相当)
  1479. K8        ログファイル名をキー入力させログ保存を開始します。([F8]相当)
  1480. Ocd<DIR>    DOSのchdirを行います。ドライブも一緒に変更します。
  1481. Ode<FILE>    DOSのdeleteを行います
  1482.  
  1483.  
  1484.  
  1485. 注意:コマンドは大文字小文字の区別があります。
  1486.  
  1487.  
  1488.   -<NUM> コマンドでプログラムの実行速度を調整します。(1/100秒単位)これによっ
  1489. て無駄な処理なくウエイトさせることが可能です。
  1490.  
  1491.   処理は行単位で行なわれ、行ごとにイベントを一端開放します。この時 RS232C の
  1492. 送受信も行なわれるため、行の間に割り込みがかかるのを防ぐ意味でも1行に複数の
  1493. 命令を記述することができるようになっています。「;」で区切った命令は全部同じ
  1494. タイミングで実行します。
  1495.  
  1496. 注:プログラム実行は全て「-<NUM>」によるタイミングに支配されます。プログラム
  1497.     の実行と RS232C の送受信や他のウィンドウの処理とは並列に動作します。です
  1498.     からプログラムの実行を遅くするということはその分他の処理に時間をまわすと
  1499.     いうことであり、プログラム実行を優先させたい場合は「-<NUM>」でタイミング
  1500.     を調整して下さい。
  1501.  
  1502. 注:コメント「#」も実行には「-<NUM>」で指定しただけのタイミングを必要とする
  1503.     ので注意して下さい。(逆にタイミング調整の nop としても使えます)
  1504.  
  1505.  
  1506. 注意!:これらマクロの仕様は、今後無断で変更される場合があります。特に低レベ
  1507.     ルマクロの場合はその可能性が大きいことに注意して下さい。
  1508.  
  1509.  
  1510.  
  1511. ●サンプルマクロ
  1512.  
  1513. nifty1.k20    NIFTY-Serve 用オートログインマクロ1  (by LEEX)
  1514.         (詳しくはkxnifty1.doc参照のこと)
  1515.  
  1516. nifty2.k20    NIFTY-Serve 用オートログインマクロ2  (by LEEX)
  1517.         (詳しくはkxnifty1.doc参照のこと)
  1518.  
  1519. n005.k20    NIFTY-Serve 用B-Plusオートダウンロード用マクロ  (by LEEX)
  1520.         (詳しくはkxnifty1.doc参照のこと)
  1521.  
  1522. n015.k20    NIFTY-Serve 用 FENICS ROAD1 自動終了マクロ  (by LEEX)
  1523.         (詳しくはkxnifty1.doc参照のこと)
  1524.  
  1525. hostpro.k20    SPS の HOSTPRO 系ネット用オートログインサンプル。
  1526.  
  1527.  
  1528. files.k20    カレントディレクトリのファイル名を表示します。(ただのサンプル)
  1529.  
  1530. logoutexec.k20    &logout 用のサンプルマクロです。キャリアオフ割り込み用ルーチ
  1531.         ンです。
  1532.  
  1533. dice.k20    ダイスゲーム。遊び方は dice.k20 の最後の方を読んで下さい。
  1534.  
  1535. puzzle.k20    パズルゲーム
  1536.  
  1537. neko.k20    チャット中に実行すると、猫語でチャットができるようになります。
  1538.         止めるにはメニューから break してください。(猫語は某でんでん
  1539.         ネットの有名チャッターのまねです…)
  1540.  
  1541. automes.k20    でんでんネットのチャットで、挨拶を自動応答してしまうという謎
  1542.         のマクロ
  1543.  
  1544. denden.k20    インターネット経由ででんでんネットにログインするためのマクロ例
  1545.         (X68K を RS-232C で WS に繋ぎ、KX_Term20 で WS にログインし
  1546.         ている状態で実行する)
  1547.  
  1548. zauterm.k20    ZAURUS の「ザウルスネット」機能と通信をするためのマクロです。
  1549.         詳しくは zauterm.doc を参照して下さい。
  1550.  
  1551.  
  1552.  
  1553. ● KX_Term20 で使用可能な制御コード (エスケープシーケンス)
  1554.  
  1555.   Human68k に上位互換 (IOCS.X 拡張シーケンスも含む) で、vt100 準拠に拡張して
  1556. います。ただし、Human のシーケンスと vt100 で動作の異なるものが一部あるため
  1557. 起動時に -V, -V2 オプションで選択できるようになっています。なおできるだけ付
  1558. 属の termcap ファイルを使用して下さい。その方が動作効率があがります。
  1559.  
  1560.  
  1561. 0x07        (CTRL-G)ベル
  1562. 0x08        (CTRL-H)カーソル左移動(バックスペース)(行連結、スクロール無し)
  1563. 0x09        (CTRL-I)タブ
  1564. 0x0a        (CTRL-J)カーソルを次の行へ(スクロールアップあり)
  1565. 0x0b        (CTRL-K)カーソルを前の行へ(スクロールダウン無し)
  1566. 0x0c        (CTRL-L)カーソルの右移動(次の行へ連結、スクロールアップあり)
  1567. 0x0d        (CTRL-M)カーソルを行頭へ
  1568. 0x1a        (CTRL-Z)画面全消去(カーソルはホームへ移動)
  1569. 0x1b        (CTRL-[)エスケープ ESC
  1570. 0x1e        (CTRL-^)カーソルを画面の右上(ホーム)に移動
  1571.  
  1572. ESC *        画面の全消去
  1573. ESC =YX        X,Yはカーソル位置に' 'のオフセットを加えた文字 (Normalモード)
  1574. ESC =        無視します (VT100 完全互換モード,起動時に-Vスイッチをつけた時)
  1575. ESC D        カーソルの下移動、最下行の時はスクロール
  1576. ESC E        カーソルの下&行頭移動(改行)、最下行の時はスクロール
  1577. ESC M        カーソルの上移動、先頭行の時は逆スクロール
  1578. ESC R        カーソル行の削除(= ESC[M)
  1579. ESC T        カーソル行の消去(= ESC[2K)
  1580. ESC Y        カーソル以降画面消去(= ESC[J)
  1581. ESC 7        カーソル位置と文字属性の保存(= ESC[s)
  1582. ESC 8        カーソル位置と文字属性の復帰(= ESC[u)
  1583. ESC c        ターミナルパラメーターの初期化
  1584.  
  1585. ESC[0K        カーソル位置から行末まで消去
  1586. ESC[1K        行頭からカーソル位置まで消去
  1587. ESC[2K        カーソル行の消去
  1588. ESC[0J        カーソル位置から画面最後まで消去
  1589. ESC[1J        画面先頭からカーソル位置まで消去
  1590. ESC[2J        画面の全消去
  1591. ESC[<y>;<x>H    カーソル位置の設定
  1592. ESC[<y>;<x>f    カーソル位置の設定
  1593. ESC[<n>@    カーソル位置に<n>個の空白挿入
  1594. ESC[<n>P    カーソル位置から<n>文字削除
  1595. ESC[<n>X    カーソル位置から<n>文字消去
  1596. ESC[<n>A    カーソル上移動
  1597. ESC[<n>B    カーソル下移動
  1598. ESC[<n>C    カーソル右移動
  1599. ESC[<n>D    カーソル左移動
  1600. ESC[<n>M    カーソル行から<n>行削除
  1601. ESC[<n>L    カーソル行に<n>行挿入
  1602. ESC[s        カーソル位置と文字属性の保存
  1603. ESC[u        カーソル位置と文字属性の復帰
  1604. ESC[5n        ESC[0n を送信する
  1605. ESC[6n        カーソル位置を ESC[<y>;<x>R の形で送信する
  1606. ESC[<s>;<e>r    スクロール範囲の指定
  1607. ESC[<n>m    文字属性変更
  1608.         0  .. 属性をデフォルトに戻します
  1609.         1  .. 強調属性の反転
  1610.         3  .. 半輝度(網かけ)
  1611.         5  .. 強調属性の反転
  1612.         7  .. 反転表示属性の反転
  1613.         30 .. 黒    40 .. 黒反転
  1614.         31 .. 灰色    41 .. 灰色反転
  1615.         32 .. 白    42 .. 白反転
  1616.         33 .. 白    43 .. 白反転
  1617.         34 .. 黒強調    44 .. 黒強調反転
  1618.         35 .. 灰色強調    45 .. 灰色強調反転
  1619.         36 .. 白強調    46 .. 白強調反転
  1620.         37 .. 白強調    47 .. 白強調反転
  1621. ESC[>5h        カーソル表示禁止
  1622. ESC[>5l        カーソル表示
  1623. ESC[?47h    セーブした画面の復帰
  1624. ESC[?47l    画面内容をセーブする
  1625. ESC[??<n>Z    KX_Term20コントロール
  1626.         <n>の数によって P00~P99 の名前のマクロを実行します
  1627.  
  1628.  
  1629.  
  1630. 【共通事項】
  1631.  
  1632. (1) ESC[ の後の数値は省略可能。数値を省略した場合、0 とみなす。
  1633.  
  1634. (2) カーソル位置は画面の左上が座標 (1,1) となる。
  1635.  
  1636. (3) カーソル位置や行数、文字数の指定に 0 を与えた場合 1 とみなされる。(つま
  1637.     り省略された場合も 1 ということ)
  1638.  
  1639. (4) スクロールアップの場合のみ、スクロール行数が設定してあれば (&scrollコマン
  1640.     ド)その行数だけスクロールを行なう。スクロールダウンでは常に1行単位。
  1641.  
  1642.  
  1643. 注意: ESC[m で変更した文字属性は、ウィンドウの再描画時に保存されません。
  1644.  
  1645.  
  1646.   エスケープシーケンスの資料として「Human68k マニュアル」、「XC v2 プログラ
  1647. マーズマニュアル」、MuTerm 付属の ESC.DOC 、X-WINDOW xterm マニュアル、各種
  1648. OS 付属の termcap ファイルを参考にさせいただきました。
  1649.  
  1650.  
  1651.  
  1652. ●漢字コード
  1653.  
  1654.   この KX_Term20 は、SHIFT JIS (X68000 の漢字コード) でのみ動作しています。
  1655. EUC や JIS コードについては tmsio.x の変換機能を利用しています。
  1656.  
  1657.   また v2.15 以降より、Ko-Window 用 Level +9 の新ライブラリをリンクしています。
  1658. 行内編集時にも2バイト半角文字も正確に入力、編集、可能になりました。(X680x0
  1659. の2バイト半角文字です)
  1660.  
  1661.  
  1662.  
  1663. ●通信設定と tmsio 機能のコントロール
  1664.  
  1665.   mコマンドを使って、マクロ内で簡単に通信設定& tmsio の機能コントロールがで
  1666. きます。
  1667.  
  1668.     設定: m数値パラメータ
  1669.  
  1670. 戻り値はステータスとして返ります。(\Sによって参照可能)数値パラメータが -1 の
  1671. 場合は現在の設定値の取り出しです。mコマンドによる通信パラメータの数値設定 bit
  1672. は以下の通り。(注意: RSDRV.SYS では以下の機能がすべて使えるわけではありません)
  1673.  
  1674. bit0~3        通信速度(SCC=5MHz時)
  1675.             0:75, 1:150, 2:300, 3:600, 4:1200, 5:2400, 6:4800,
  1676.             7:9600, 8:19200, 9:38400, 10:7200, 11:12000,
  1677.             12:14400, 13:52080(51200) 14:78125 15:78125 (bps)
  1678. bit4        常に0
  1679. bit5        1=受信時にJISコードを自動でSJISに変換する, 0=しない
  1680. bit6        tmsio判定bit(TMSIOならこのbitが1になる)
  1681. bit7        RTS/CTSハードフロー(1なら有効)
  1682. bit8        SI/SO制御(bit長が7の場合のみ有効)
  1683. bit9        XON/XOFFソフトフロー制御(1なら有効)
  1684. bit10~11    bit長(0=5 1=6 2=7 3=8 bit)
  1685. bit12        1=パリティあり, 0=パリティなし
  1686. bit13        パリティ 0=奇数, 1=偶数(パリティありの場合のみ有効)
  1687. bit14~15    ストップビット(0=2, 1=1, 2=1.5, 3=2 bit)
  1688.  
  1689. 具体的な使用例は setparam.k20 を参照して下さい。表示解析の例は viewparam.k20
  1690. です。
  1691.  
  1692. 下位 8bit が全部 1(つまり 0xff) の場合、tmsio の特殊制御になります。
  1693.  
  1694. bit0~15の値(16進数)
  1695. ・00ff        ブレーク信号送出時間の設定(bit16~31で時間を指定)
  1696. ・01ff        ブレーク信号の送出
  1697. ・02ff        ER(DTR)信号のOFF時間設定(bit16~31で時間を指定)
  1698. ・03ff        ER(DTR)信号を OFF にし、一定時間してまた ON に戻す
  1699. ・04ff        XON状態から抜け出す(Xフローリカバー)
  1700. ・05ff        SCCのRR0の内容を読み出し、戻り値にする
  1701. ・06ff        tmsioの呼び出しアドレスを得る
  1702. ・07ff        tmsioのバージョン読み出し
  1703. ・08ff        バイナリ転送のためにXON/XOFFフロー制御を一時禁止する
  1704. ・09ff        08ffで禁止したXON/XOFFフロー制御状態を戻す
  1705. ・0aff        バイナリ転送のためJIS受信変換を一時禁止する
  1706. ・0bff        0affで禁止したJIS受信変換状態を戻す
  1707. ・0cff        バイナリ転送のため漢字コード変換を一時禁止する
  1708. ・0dff        0cffで禁止した漢字コード変換状態を戻す。このとき bit16~31 に
  1709.         以下の値を与えることにより変換漢字コードを設定する。
  1710.             0:SJIS, 1:新JIS, 2:旧JIS, 3:NEC-JIS, 4:EUC
  1711. ・0eff        現在の漢字コード変換モードを返す
  1712. ・0fff        tmsioの内部ワークエリアのアドレスを得る
  1713.  
  1714. <例>
  1715. m511        ブレーク信号送出 (511=0x1ff)
  1716. m1023        ER信号OFF->ON (1023=0x3ff)
  1717. m265727        漢字コードを EUC に設定 (265727=0x40dff)
  1718.  
  1719.   \D(HEX) を使えば直接16進数で指定することもできます。上の例は
  1720.  
  1721. m\D(1ff)
  1722. m\D(3ff)
  1723. m\D(40dff)
  1724.  
  1725. と書くこともできます。バイナリ送受信のためのコマンド設定例は proto.k20 を参
  1726. 照して下さい。
  1727.  
  1728.  
  1729.  
  1730. ●使用にあたっての注意
  1731.  
  1732.   ダウンロード中は、できるだけほかの処理をせず、温かく見守ってやって下さい。
  1733. 残念ながら、まだダウンロード中にファイル操作など別のことをすると取りこぼすこ
  1734. とがあるようです。
  1735.  
  1736.   必ず config.sys の SHARE 行を設定しておいて下さい。
  1737.  
  1738. <例>
  1739.  
  1740. SHARE =20 8
  1741.  
  1742.  
  1743.  画面表示は遅いので、ish ダウン時はできるだけ ish.k20 等を改造してエコーバッ
  1744. クなしの状態でダウンロードするようにしましょう。
  1745.  
  1746.   オンラインでスクリーンエディタを用いる場合は、特に vi ではスクロール行数が
  1747. 1行でないとカーソル移動がうまく行かないことがあります。デフォルトで SHIFT+F1
  1748. に割りあてていますから、vi エディタ使用中は SHIFT+F1 を押してスクロール行数を
  1749. 1行にして下さい。(スクロール行数はウィンドウ左下のカッコの中に出ます)戻す
  1750. 時は SHIFT+F2 (6行スクロールになります) です。stevie ではこの操作の必要はあ
  1751. りません。
  1752.  
  1753.   termcap , terminfo は、必ず付属のものを使いましょう。一応 ansi モードにす
  1754. れば ansi 設定でも動くかと思いますが、付属の termcap の方がコードを最適化し
  1755. てあるので効率がよくなります。
  1756.  
  1757.  
  1758.  
  1759. ●関連ツール紹介(一部)
  1760.  
  1761.     K20menu.win    アクセスネット毎のメニューです。自動ログイン手続きの
  1762.             編集も可能です。(付属)
  1763.  
  1764.     kopro.win    X/Y-MODEM によるバイナリファイル転送を行います。(付属)
  1765.  
  1766.     chatwin.win    行入力を拡張します。チャット時等に便利。(付属)
  1767.  
  1768.     koishenc.win    リアルタイムの ish エンコーダです。ish ファイルのアッ
  1769.             プロードに重宝します。(付属)
  1770.  
  1771.     rs.win        端末使用時など、こまかな RS-232C パラメータ設定を行
  1772.             う場合に便利です。
  1773.  
  1774.     tview.win    ログのビュアとして用います。Ko-Window 基本セットに含
  1775.             まれています。
  1776.  
  1777.  
  1778.  
  1779. ●配布条件
  1780.  
  1781.   このプログラムおよび付属マクロやドキュメントは作者の著作物です。無断で改変
  1782. したものを配布することを禁じます。プログラムの動作は無保証であり、配布する場
  1783. 合の媒体料を除き全て無料で行なわれる場合にのみ自由配布を許可します。転載する
  1784. 場合の作者への連絡は特に必要ありませんが、バージョンアップ及びサポートに関し
  1785. ては可能な限り転載者が責任をもってこれを行なって下さい。
  1786.  
  1787.  
  1788.  
  1789. ●謝辞
  1790.  
  1791.   開発には真里子版 GCC 及び High-speed Assembler (Y.Nakamura)、Hi-Speed Linker
  1792. (SALT) を使わせていただきました。ライブラリは XC v1 & gnulib.a (T.Ohtsiki)
  1793. と Ko-Window のものを含んでいます。Ko-Window システム(T.Kobayashi)、特に今回
  1794. 必要不可欠な TMSIO (Miki Hoshino)、そしていつもお世話になっている TwentyOne.x
  1795. などなどこれらのプログラムに携わった方々にたいへん感謝します。(敬称略)
  1796.  
  1797.  
  1798.  
  1799. ●連絡先
  1800.  
  1801.   私は DoGA さんとは関係ありません。ブラザーのタケルから出ているアプリケーショ
  1802. ン集も私が勝手に作成したものであり、このプログラムも含めて DoGA さんの方への
  1803. 問い合わせはご遠慮下さい。連絡は下記までお願いします。
  1804.  
  1805. 小笠原博之
  1806. InterNetMail: oga@dgw.yz.yamagata-u.ac.jp
  1807.      SPS-NET: SPS0783 COR. (福島市 0245-46-1167)
  1808.   DenDen-NET: DEN0006 COR. (米沢市 0238-26-3444, telnet bbs.yamagata-u.ac.jp
  1809.                                   login:den)
  1810.  
  1811. Nifty,PC-VA 等の大手ネットからも、上記 InterNetMail へのアドレスに対してメー
  1812. ルを出すことができます。Nifty からは DenDen-NET にログインすることもできます。
  1813.  
  1814.